package com.bairuitech.anychat;

public class AnyChatObjectDefine {

	// 对象类型定义
	public static final int ANYCHAT_OBJECT_TYPE_AREA		=	4;		///< 服务区域
	public static final int ANYCHAT_OBJECT_TYPE_QUEUE		=	5;		///< 队列对象
	public static final int ANYCHAT_OBJECT_TYPE_AGENT		=	6;		///< 客服对象
	public static final int ANYCHAT_OBJECT_TYPE_CLIENTUSER	=	8;		///< 客户端用户对象，用于与服务器交换数据

	// 通用标识定义
	public static final int ANYCHAT_OBJECT_FLAGS_CLIENT		=	0;		///< 普通客户
	public static final int ANYCHAT_OBJECT_FLAGS_AGENT		=	2;		///< 坐席用户
	public static final int ANYCHAT_OBJECT_FLAGS_MANANGER	=	4;		///< 管理用户
	public static final int ANYCHAT_OBJECT_FLAGS_AUTOMODE	=	16;		///< 自动服务模式

	public static final int ANYCHAT_INVALID_OBJECT_ID		=	-1;		///< 无效的对象ID

	// 坐席服务状态定义
	public static final int ANYCHAT_AGENT_STATUS_CLOSEED	=	0;		///< 关闭，不对外提供服务
	public static final int ANYCHAT_AGENT_STATUS_WAITTING	=	1;		///< 等待中，可随时接受用户服务
	public static final int ANYCHAT_AGENT_STATUS_WORKING	=	2;		///< 工作中，正在为用户服务
	public static final int ANYCHAT_AGENT_STATUS_PAUSED		=	3;		///< 暂停服务


	/**
	 *	对象属性定义
	 */

	// 对象公共信息类型定义
	public static final int ANYCHAT_OBJECT_INFO_FLAGS		=	7;		///< 对象属性标志
	public static final int ANYCHAT_OBJECT_INFO_NAME		=	8;		///< 对象名称
	public static final int ANYCHAT_OBJECT_INFO_PRIORITY	=	9;		///< 对象优先级
	public static final int ANYCHAT_OBJECT_INFO_ATTRIBUTE	=	10;		///< 对象业务属性
	public static final int ANYCHAT_OBJECT_INFO_DESCRIPTION	=	11;		///< 对象描述
	public static final int ANYCHAT_OBJECT_INFO_INTTAG		=	12;		///< 对象标签，整型，上层应用自定义
	public static final int ANYCHAT_OBJECT_INFO_STRINGTAG	=	13;		///< 对象标签，字符串，上层应用自定义
	public static final int ANYCHAT_OBJECT_INFO_GUID		=	14;		///< 对象GUID
	public static final int ANYCHAT_OBJECT_INFO_STATUSJSON	=	15;		///< 对象状态属性集合

	// 服务区域信息类型定义
	public static final int ANYCHAT_AREA_INFO_AGENTCOUNT	=	401;	///< 服务区域客服用户数
	public static final int ANYCHAT_AREA_INFO_GUESTCOUNT	=	402;	///< 服务区域内访客的用户数（没有排入队列的用户）
	public static final int ANYCHAT_AREA_INFO_QUEUEUSERCOUNT=	403;	///< 服务区域内排队的用户数
	public static final int ANYCHAT_AREA_INFO_QUEUECOUNT	=	404;	///< 服务区域内队列的数量
	public static final int ANYCHAT_AREA_INFO_AGENTIDLIST	=	405;	///< 服务区域客服ID列表
	public static final int ANYCHAT_AREA_INFO_IDLEAGENTCOUNT=	406;	///< 服务区域空闲坐席数量
	public static final int ANYCHAT_AREA_INFO_STATUSJSON	=	407;	///< 服务区域状态信息，返回Json数据
	public static final int ANYCHAT_AREA_INFO_WAITINGCOUNT	=	408;	///< 服务区域内等候服务用户数（出了队列，但没有坐席服务的用户）

	// 队列状态信息类型定义
	public static final int ANYCHAT_QUEUE_INFO_MYSEQUENCENO	=	501;	///< 自己在该队列中的序号
	public static final int ANYCHAT_QUEUE_INFO_BEFOREUSERNUM=	502;	///< 排在自己前	面的用户数
	public static final int ANYCHAT_QUEUE_INFO_MYENTERQUEUETIME=503;	///< 进入队列的时间
	public static final int ANYCHAT_QUEUE_INFO_LENGTH		=	504;	///< 队列长度（有多少人在排队），整型
	public static final int ANYCHAT_QUEUE_INFO_WAITTIMESECOND=	508;	///< 自己在队列中的等待时间（排队时长），单位：秒
	public static final int ANYCHAT_QUEUE_INFO_AGENTINFO	=	509;	///< 服务当前队列的坐席信息，返回Json数据

	// 客服状态信息类型定义
	public static final int ANYCHAT_AGENT_INFO_SERVICESTATUS=	601;	///< 服务状态，整型
	public static final int ANYCHAT_AGENT_INFO_SERVICEUSERID=	602;	///< 当前服务的用户ID，整型
	public static final int ANYCHAT_AGENT_INFO_SERVICEBEGINTIME=603;	///< 当前服务的开始时间，整型
	public static final int ANYCHAT_AGENT_INFO_SERVICETOTALTIME=604;	///< 累计服务时间，整型，单位：秒
	public static final int ANYCHAT_AGENT_INFO_SERVICETOTALNUM=	605;	///< 累计服务的用户数，整型
	public static final int ANYCHAT_AGENT_INFO_SERVICEUSERINFO=	606;	///< 当前服务用户信息，字符串
	public static final int ANYCHAT_AGENT_INFO_RELATEQUEUES	=	607;	///< 关联队列List，字符串


	/**
	 *	对象方法定义
	 */

	// 对象公共参数控制常量定义
	public static final int ANYCHAT_OBJECT_CTRL_CREATE		=	2;		///< 创建一个对象
	public static final int ANYCHAT_OBJECT_CTRL_SYNCDATA	=	3;		///< 同步对象数据给指定用户，dwObjectId=-1，表示同步该类型的所有对象
	public static final int ANYCHAT_OBJECT_CTRL_DEBUGOUTPUT	=	4;		///< 对象调试信息输出
	public static final int ANYCHAT_OBJECT_CTRL_DELETE		=	5;		///< 删除对象
	public static final int ANYCHAT_OBJECT_CTRL_MODIFY		=	6;		///< 修改对象信息

	// 服务区域控制常量定义
	public static final int ANYCHAT_AREA_CTRL_USERENTER		=	401;	///< 进入服务区域
	public static final int ANYCHAT_AREA_CTRL_USERLEAVE		=	402;	///< 离开服务区域

	// 队列参数控制常量定义
	public static final int ANYCHAT_QUEUE_CTRL_USERENTER	=	501;	///< 进入队列
	public static final int ANYCHAT_QUEUE_CTRL_USERLEAVE	=	502;	///< 离开队列

	// 客服参数控制常量定义
	public static final int ANYCHAT_AGENT_CTRL_SERVICESTATUS=	601;	///< 坐席服务状态控制（暂停服务、工作中、关闭）
	public static final int ANYCHAT_AGENT_CTRL_SERVICEREQUEST=	602;	///< 服务请求
	public static final int ANYCHAT_AGENT_CTRL_FINISHSERVICE=	604;	///< 结束服务
	public static final int ANYCHAT_AGENT_CTRL_EVALUATION	=	605;	///< 服务评价，wParam为客服userid，lParam为评分，lpStrValue为留言



	/**
	 *	对象异步事件定义
	 */

	// 对象公共事件常量定义
	public static final int ANYCHAT_OBJECT_EVENT_UPDATE			= 1;	///< 对象数据更新
	public static final int ANYCHAT_OBJECT_EVENT_SYNCDATAFINISH = 2;	///< 对象数据同步结束

	// 服务区域事件常量定义
	public static final int ANYCHAT_AREA_EVENT_STATUSCHANGE	=	401;	///< 服务区域状态变化
	public static final int ANYCHAT_AREA_EVENT_ENTERRESULT	=	402;	///< 进入服务区域结果
	public static final int ANYCHAT_AREA_EVENT_USERENTER	=	403;	///< 用户进入服务区域
	public static final int ANYCHAT_AREA_EVENT_USERLEAVE	=	404;	///< 用户离开服务区域
	public static final int ANYCHAT_AREA_EVENT_LEAVERESULT	=	405;	///< 离开服务区域结果

	// 队列事件常量定义
	public static final int ANYCHAT_QUEUE_EVENT_STATUSCHANGE=	501;	///< 队列状态变化
	public static final int ANYCHAT_QUEUE_EVENT_ENTERRESULT	=	502;	///< 进入队列结果
	public static final int ANYCHAT_QUEUE_EVENT_USERENTER	=	503;	///< 用户进入队列
	public static final int ANYCHAT_QUEUE_EVENT_USERLEAVE	=	504;	///< 用户离开队列
	public static final int ANYCHAT_QUEUE_EVENT_LEAVERESULT	=	505;	///< 离开队列结果

	// 坐席事件常量定义
	public static final int ANYCHAT_AGENT_EVENT_STATUSCHANGE=	601;	///< 坐席状态变化
	public static final int ANYCHAT_AGENT_EVENT_SERVICENOTIFY=	602;	///< 坐席服务通知（哪个用户到哪个客服办理业务）
	public static final int ANYCHAT_AGENT_EVENT_WAITINGUSER	=	603;	///< 暂时没有客户，请等待

	
	 
}